from PIL import Image, ImageDraw, ImageFont

def create_image_with_chinese_text(text, picname, font_path='./simhei.ttf', font_size=30, text_color=(0, 0, 0), bg_color=(255, 255, 255)):
    """
    创建一个包含中文文本的图片并保存。

    :param text: 要显示在图片上的中文文本。
    :param output_path: 保存图片的文件路径，默认为 'chinese_output.png'。
    :param font_path: 中文字体文件的路径，默认为 'simhei.ttf'。
    :param font_size: 字体大小，默认为 30。
    :param text_color: 文本颜色，默认为黑色 (0, 0, 0)。
    :param bg_color: 背景颜色，默认为白色 (255, 255, 255)。
    """
    # 加载中文字体
    font = ImageFont.truetype(font_path, font_size)

    # 计算文本尺寸
    left, top, right, bottom = font.getbbox(text)
    text_width = right - left
    text_height = bottom - top

    # 创建一个图像
    image = Image.new('RGB', (text_width + 20, text_height + 20), bg_color)
    draw = ImageDraw.Draw(image)

    # 在图像上绘制中文文本
    draw.text((10, 10), text, fill=text_color, font=font)

    # 保存图像
    image.save(picname)



def print_file_with_line_numbers(file_path):
    try:
        with open(file_path, 'r', encoding='utf-8') as file:
            for line_number, line in enumerate(file, 1):
                #print(f'{line_number}: {line.strip()}')
                create_image_with_chinese_text(line.strip(),str(line_number)+".png")

    except FileNotFoundError:
        print(f'Error: The file at path "{file_path}" was not found.')
    except Exception as e:
        print(f'An error occurred: {e}')

# 使用示例
file_path = 'nccdata25'  # 替换为你的文件路径
print_file_with_line_numbers(file_path)

